The present invention relates to a digital filter design, and especially to filter design in the frequency domain.
There are several applications in which digital filters H[k] are designed xe2x80x9con the flyxe2x80x9d in the frequency domain. One example is noise suppression using spectral subtraction. Another example is design of frequency selective non-linear processors for echo cancellation. A characteristic feature of such applications is that the filter design method is quite complex. Since the is filters are updated frequently this puts a heavy burden on the hardware/software that implements these design algorithms.
Reference [1] describes a method that divides the frequency domain k into segments of equal or unequal length, and uses a constant value in each segment for H[k] and the underlying power spectral density estimates "PHgr"x[k] of the noisy or echo contaminated speech signal. This reduces the complexity, since the filter H[k] only has to be determined for the frequency segments and not for each frequency bin k. However, this method also has the draw-back that it may split a peak of H[k] into two different segments. This may lead to fluctuating peaks, which produces annoying xe2x80x9cmusic noisexe2x80x9d. It also reduces spectral sharpness, which further reduces speech quality.
An object of the present invention is to reduce or eliminate these drawbacks of the prior art.
This object is achieved in accordance with the attached claims.
Briefly, the present invention dynamically adapts the segment lengths and positions to the current shape of the power spectrum of the speech signal. The peaks and valleys of the spectrum are determined, and the method makes sure that peaks are not split between different segments when the segments are distributed over the frequency domain. Preferably each peak is covered by a segment centered on the peak. The segment length is preferably controlled by the frequency characteristics of the human auditory system.
This method has the advantage of reducing the complexity of the filter calculation without sacrificing accuracy at the important spectrum peaks. Furthermore, the method also reduces the variance of the spectrum from frame to frame, which improves speech quality.